SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TCMOVI_BANC_EJEC_Q16]                              
/*-------------------------------------------------------*/                              
/*---Empresa               OFISIS S.A.                --*/                              
/*---Cliente               ULMA                     --*/                              
/*---Sistema               Tesoreria                  --*/                              
/*---M¢dulo                Empresa                    --*/                              
/*---Programa              FLUJO DE CAJA SEMANAL EJECUTADO_MIXTO (EXCEL)      --*/                              
/*---Script                SP_TCMOVI_BANC_Q03.sql     --*/                              
/*---Nombre SP             SP_TCMOVI_BANC_Q03         --*/                              
/*---Desarrollado por      Maribel Julca Rodriguez      --*/                              
/*---Fecha Creaci¢n        06/02/2007                 --*/                              
/*---Base Datos            SQL SERVER        --*/                              
/*---Versi¢n               2000                       --*/                              
/*---Invoca a SP                                      --*/                              
/*-------------------------------------------------------*/                              
                              
/*-------------------------------------------------------*/                              
/*---Modificado 1 por           --*/                              
/*---Fecha Modificaci¢n         --*/                               
/*---Detalle Modificaci¢n       --*/                              
/*-------------------------------------------------------*/                              
                              
/*-------------------------------------------------------*/                              
/*---Drop Proc SP_TCMOVI_BANC_Q03                      --*/                              
/*---Grant all on SP_TCMOVI_BANC_Q03 to public         --*/                               
/*---SP_TCMOVI_BANC_Q03 '01', 'DOL', 10, 2001, 11, 2001  --*/                              
/*-------------------------------------------------------*/                              
                              
--EXEC UL_TCMOVI_BANC_Q09 '01', 'WHERE 1 = 1', '', 'U', 'DOL', '2007/03/10', '2007/06/30'                  
@ISCO_EMPR Varchar(2),                            
@ISCA_WHER_0001 Varchar(256),                              
@ISCA_WHER_0002 Varchar(256),                         
@ISTI_PRES TD_VC_001,                             
@ISCO_MONE TD_VC_003,                              
@IDFE_OPER_INIC TD_DT_001,                              
@IDFE_OPER_FINA TD_DT_001                    
/*,                              
@INNU_MESE_FINA TD_IN_001,                              
@INNU_ANIO_FINA TD_IN_001  */                            
As                              
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q02_1                              
 ( CO_EMPR      varchar(3) NULL,                              
   CO_ARUB varchar(3) NULL ,                              
   CO_RUBR varchar(3) NULL ,                              
   CO_SUBR varchar(3) NULL ,                              
   IM_SE01 numeric(16,4) DEFAULT 0,                              
   IM_SE02 numeric(16,4) DEFAULT 0,                              
   IM_SE03 numeric(16,4) DEFAULT 0,                              
   IM_SE04 numeric(16,4) DEFAULT 0,                              
   IM_SE05 numeric(16,4) DEFAULT 0,                              
   IM_SE06 numeric(16,4) DEFAULT 0,                              
   IM_SE07 numeric(16,4) DEFAULT 0,                              
   IM_SE08 numeric(16,4) DEFAULT 0,                              
   IM_SE09 numeric(16,4) DEFAULT 0,                              
   IM_SE10 numeric(16,4) DEFAULT 0,             
   IM_SE11 numeric(16,4) DEFAULT 0,    
   IM_SE12 numeric(16,4) DEFAULT 0,                              
   IM_SE13 numeric(16,4) DEFAULT 0,                      
   IM_SE14 numeric(16,4) DEFAULT 0,                              
   IM_SE15 numeric(16,4) DEFAULT 0,                              
  IM_SE16 numeric(16,4) DEFAULT 0,                              
   IM_SE17 numeric(16,4) DEFAULT 0,                            
   IM_SE18 numeric(16,4) DEFAULT 0,                                 
   IM_SE19 numeric(16,4) DEFAULT 0,                         
   IM_SE20 numeric(16,4) DEFAULT 0,            
    IM_SE21 numeric(16,4) DEFAULT 0,                                
   IM_SE22 numeric(16,4) DEFAULT 0,                                
   IM_SE23 numeric(16,4) DEFAULT 0,                                
   IM_SE24 numeric(16,4) DEFAULT 0,                                
   IM_SE25 numeric(16,4) DEFAULT 0,                                
   IM_SE26 numeric(16,4) DEFAULT 0,                                
   IM_SE27 numeric(16,4) DEFAULT 0,                                
   IM_SE28 numeric(16,4) DEFAULT 0,                                
   IM_SE29 numeric(16,4) DEFAULT 0,                                
   IM_SE30 numeric(16,4) DEFAULT 0,               
   IM_SE31 numeric(16,4) DEFAULT 0,                                
   IM_SE32 numeric(16,4) DEFAULT 0,                                
   IM_SE33 numeric(16,4) DEFAULT 0,                                
   IM_SE34 numeric(16,4) DEFAULT 0,                                
   IM_SE35 numeric(16,4) DEFAULT 0,                                
   IM_SE36 numeric(16,4) DEFAULT 0,                                
   IM_SE37 numeric(16,4) DEFAULT 0,                                
   IM_SE38 numeric(16,4) DEFAULT 0,                                   
   IM_SE39 numeric(16,4) DEFAULT 0,                                
   IM_SE40 numeric(16,4) DEFAULT 0,            
   IM_SE41 numeric(16,4) DEFAULT 0,                                
   IM_SE42 numeric(16,4) DEFAULT 0,                                
   IM_SE43 numeric(16,4) DEFAULT 0,                                
   IM_SE44 numeric(16,4) DEFAULT 0,                                
   IM_SE45 numeric(16,4) DEFAULT 0,                                
   IM_SE46 numeric(16,4) DEFAULT 0,                                
   IM_SE47 numeric(16,4) DEFAULT 0,                                
   IM_SE48 numeric(16,4) DEFAULT 0,                                
   IM_SE49 numeric(16,4) DEFAULT 0,                                
   IM_SE50 numeric(16,4) DEFAULT 0,               
   IM_SE51 numeric(16,4) DEFAULT 0,                                
   IM_SE52 numeric(16,4) DEFAULT 0,                                   
   NU_MESE varchar(2),                            
   CO_BANC varchar(3) NULL ,                              
   NU_CNTA_BANC varchar(20) NULL ,                              
   DE_CNTA_BANC varchar(100) NULL ,                              
   TI_DETA_EMPR  varchar(1) NULL ,                            
   TI_DETA_BANC  varchar(1) NULL,                 
CO_SUBR_CALC varchar(3) NULL,                          
ST_CALC_IMPO varchar(1) NULL ,                          
TI_CALC_IMPO varchar(1) NULL,          
IM_SALD_INIC numeric(16,4) DEFAULT 0 )                              
                         
                          
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q02_DUA                             
 ( CO_EMPR      varchar(3) NULL,                              
   CO_ARUB varchar(3) NULL ,                              
   CO_RUBR varchar(3) NULL ,                              
   CO_SUBR varchar(3) NULL ,                              
   IM_SE01 numeric(16,4) DEFAULT 0,                              
   IM_SE02 numeric(16,4) DEFAULT 0,                              
   IM_SE03 numeric(16,4) DEFAULT 0,                              
   IM_SE04 numeric(16,4) DEFAULT 0,                              
   IM_SE05 numeric(16,4) DEFAULT 0,                           
   IM_SE06 numeric(16,4) DEFAULT 0,                              
   IM_SE07 numeric(16,4) DEFAULT 0,                              
   IM_SE08 numeric(16,4) DEFAULT 0,                              
   IM_SE09 numeric(16,4) DEFAULT 0,                              
   IM_SE10 numeric(16,4) DEFAULT 0,                              
   IM_SE11 numeric(16,4) DEFAULT 0,                              
   IM_SE12 numeric(16,4) DEFAULT 0,            
   IM_SE13 numeric(16,4) DEFAULT 0,                              
   IM_SE14 numeric(16,4) DEFAULT 0,                              
   IM_SE15 numeric(16,4) DEFAULT 0,                              
   IM_SE16 numeric(16,4) DEFAULT 0,                              
   IM_SE17 numeric(16,4) DEFAULT 0,                              
   IM_SE18 numeric(16,4) DEFAULT 0,                                 
   IM_SE19 numeric(16,4) DEFAULT 0,                              
   IM_SE20 numeric(16,4) DEFAULT 0,           
 IM_SE21 numeric(16,4) DEFAULT 0,                                
   IM_SE22 numeric(16,4) DEFAULT 0,                                
   IM_SE23 numeric(16,4) DEFAULT 0,                                
   IM_SE24 numeric(16,4) DEFAULT 0,                                
   IM_SE25 numeric(16,4) DEFAULT 0,                                
   IM_SE26 numeric(16,4) DEFAULT 0,                      
   IM_SE27 numeric(16,4) DEFAULT 0,                                
   IM_SE28 numeric(16,4) DEFAULT 0,                                
   IM_SE29 numeric(16,4) DEFAULT 0,                                
   IM_SE30 numeric(16,4) DEFAULT 0,               
   IM_SE31 numeric(16,4) DEFAULT 0,                                
   IM_SE32 numeric(16,4) DEFAULT 0,                                
   IM_SE33 numeric(16,4) DEFAULT 0,                                
   IM_SE34 numeric(16,4) DEFAULT 0,                                
   IM_SE35 numeric(16,4) DEFAULT 0,                                
   IM_SE36 numeric(16,4) DEFAULT 0,                                
   IM_SE37 numeric(16,4) DEFAULT 0,                                
   IM_SE38 numeric(16,4) DEFAULT 0,                                   
   IM_SE39 numeric(16,4) DEFAULT 0,                                
   IM_SE40 numeric(16,4) DEFAULT 0,            
   IM_SE41 numeric(16,4) DEFAULT 0,                                
   IM_SE42 numeric(16,4) DEFAULT 0,                                
   IM_SE43 numeric(16,4) DEFAULT 0,                                
   IM_SE44 numeric(16,4) DEFAULT 0,                                
   IM_SE45 numeric(16,4) DEFAULT 0,                                
   IM_SE46 numeric(16,4) DEFAULT 0,                                
   IM_SE47 numeric(16,4) DEFAULT 0,                                
   IM_SE48 numeric(16,4) DEFAULT 0,                                
   IM_SE49 numeric(16,4) DEFAULT 0,                                
   IM_SE50 numeric(16,4) DEFAULT 0,               
   IM_SE51 numeric(16,4) DEFAULT 0,                                
   IM_SE52 numeric(16,4) DEFAULT 0,                                    
   NU_MESE varchar(2),                            
   CO_BANC varchar(3) NULL ,                              
   NU_CNTA_BANC varchar(20) NULL ,                              
   DE_CNTA_BANC varchar(100) NULL ,                              
   TI_DETA_EMPR  varchar(1) NULL ,                            
   TI_DETA_BANC  varchar(1) NULL,                          
   CO_SUBR_CALC varchar(3) NULL,                          
ST_CALC_IMPO varchar(1) NULL ,                          
TI_CALC_IMPO varchar(1) NULL )                              
                          
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q02_DUA2                             
 ( CO_EMPR      varchar(3) NULL,                              
   CO_ARUB varchar(3) NULL ,                              
   CO_RUBR varchar(3) NULL ,                              
   CO_SUBR varchar(3) NULL ,                              
   IM_SE01 numeric(16,4) DEFAULT 0,                              
   IM_SE02 numeric(16,4) DEFAULT 0,                              
   IM_SE03 numeric(16,4) DEFAULT 0,                              
   IM_SE04 numeric(16,4) DEFAULT 0,                              
   IM_SE05 numeric(16,4) DEFAULT 0,          
   IM_SE06 numeric(16,4) DEFAULT 0,                              
   IM_SE07 numeric(16,4) DEFAULT 0,                              
   IM_SE08 numeric(16,4) DEFAULT 0,                              
   IM_SE09 numeric(16,4) DEFAULT 0,                              
   IM_SE10 numeric(16,4) DEFAULT 0,                              
   IM_SE11 numeric(16,4) DEFAULT 0,                  
   IM_SE12 numeric(16,4) DEFAULT 0,           
   IM_SE13 numeric(16,4) DEFAULT 0,                              
   IM_SE14 numeric(16,4) DEFAULT 0,                              
   IM_SE15 numeric(16,4) DEFAULT 0,                              
   IM_SE16 numeric(16,4) DEFAULT 0,                              
   IM_SE17 numeric(16,4) DEFAULT 0,                              
   IM_SE18 numeric(16,4) DEFAULT 0,                                 
   IM_SE19 numeric(16,4) DEFAULT 0,                              
   IM_SE20 numeric(16,4) DEFAULT 0,            
 IM_SE21 numeric(16,4) DEFAULT 0,                                
   IM_SE22 numeric(16,4) DEFAULT 0,                                
   IM_SE23 numeric(16,4) DEFAULT 0,                                
   IM_SE24 numeric(16,4) DEFAULT 0,                                
   IM_SE25 numeric(16,4) DEFAULT 0,                                
   IM_SE26 numeric(16,4) DEFAULT 0,                                
   IM_SE27 numeric(16,4) DEFAULT 0,                                
   IM_SE28 numeric(16,4) DEFAULT 0,                                
   IM_SE29 numeric(16,4) DEFAULT 0,                                
   IM_SE30 numeric(16,4) DEFAULT 0,               
   IM_SE31 numeric(16,4) DEFAULT 0,                                
   IM_SE32 numeric(16,4) DEFAULT 0,                                
   IM_SE33 numeric(16,4) DEFAULT 0,                                
   IM_SE34 numeric(16,4) DEFAULT 0,                                
   IM_SE35 numeric(16,4) DEFAULT 0,                                
   IM_SE36 numeric(16,4) DEFAULT 0,                                
   IM_SE37 numeric(16,4) DEFAULT 0,                                
   IM_SE38 numeric(16,4) DEFAULT 0,                                   
   IM_SE39 numeric(16,4) DEFAULT 0,                                
   IM_SE40 numeric(16,4) DEFAULT 0,            
   IM_SE41 numeric(16,4) DEFAULT 0,                                
   IM_SE42 numeric(16,4) DEFAULT 0,                                
   IM_SE43 numeric(16,4) DEFAULT 0,                                
   IM_SE44 numeric(16,4) DEFAULT 0,                                
   IM_SE45 numeric(16,4) DEFAULT 0,                                
   IM_SE46 numeric(16,4) DEFAULT 0,                                
   IM_SE47 numeric(16,4) DEFAULT 0,                                
   IM_SE48 numeric(16,4) DEFAULT 0,                                
   IM_SE49 numeric(16,4) DEFAULT 0,                                
   IM_SE50 numeric(16,4) DEFAULT 0,               
   IM_SE51 numeric(16,4) DEFAULT 0,                                
   IM_SE52 numeric(16,4) DEFAULT 0,                                    
   NU_MESE varchar(2),                            
   CO_BANC varchar(3) NULL ,                              
   NU_CNTA_BANC varchar(20) NULL ,                              
   DE_CNTA_BANC varchar(100) NULL ,                              
   TI_DETA_EMPR  varchar(1) NULL ,                            
   TI_DETA_BANC  varchar(1) NULL,                          
   CO_SUBR_CALC varchar(3) NULL,                          
ST_CALC_IMPO varchar(1) NULL ,                          
TI_CALC_IMPO varchar(1) NULL )                      
                            
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q02_4                             
 ( CO_EMPR      varchar(3) NULL,                              
   DE_EMPR      varchar(100) NULL,                              
   CO_ARUB varchar(3) NULL ,                              
   DE_ARUB    varchar(100) NULL,                             
   CO_RUBR varchar(3) NULL ,                              
   DE_RUBR      varchar(100) NULL,                         
   CO_SUBR varchar(3) NULL ,                              
   DE_SUBR      varchar(100) NULL,                             
   IM_SE01 numeric(16,4) DEFAULT 0,                              
   IM_SE02 numeric(16,4) DEFAULT 0,                              
   IM_SE03 numeric(16,4) DEFAULT 0,                              
   IM_SE04 numeric(16,4) DEFAULT 0,                              
   IM_SE05 numeric(16,4) DEFAULT 0,                              
   IM_SE06 numeric(16,4) DEFAULT 0,                              
   IM_SE07 numeric(16,4) DEFAULT 0,                              
   IM_SE08 numeric(16,4) DEFAULT 0,                              
   IM_SE09 numeric(16,4) DEFAULT 0,                              
   IM_SE10 numeric(16,4) DEFAULT 0,                              
   IM_SE11 numeric(16,4) DEFAULT 0,                              
   IM_SE12 numeric(16,4) DEFAULT 0,             
   IM_SE13 numeric(16,4) DEFAULT 0,                              
   IM_SE14 numeric(16,4) DEFAULT 0,                              
   IM_SE15 numeric(16,4) DEFAULT 0,                              
   IM_SE16 numeric(16,4) DEFAULT 0,                              
   IM_SE17 numeric(16,4) DEFAULT 0,                              
   IM_SE18 numeric(16,4) DEFAULT 0,                                 
   IM_SE19 numeric(16,4) DEFAULT 0,                              
   IM_SE20 numeric(16,4) DEFAULT 0,             
 IM_SE21 numeric(16,4) DEFAULT 0,                                
   IM_SE22 numeric(16,4) DEFAULT 0,                                
   IM_SE23 numeric(16,4) DEFAULT 0,                                
   IM_SE24 numeric(16,4) DEFAULT 0,                                
   IM_SE25 numeric(16,4) DEFAULT 0,                                
   IM_SE26 numeric(16,4) DEFAULT 0,                                
   IM_SE27 numeric(16,4) DEFAULT 0,                                
   IM_SE28 numeric(16,4) DEFAULT 0,                                
   IM_SE29 numeric(16,4) DEFAULT 0,                                
   IM_SE30 numeric(16,4) DEFAULT 0,               
   IM_SE31 numeric(16,4) DEFAULT 0,                                
   IM_SE32 numeric(16,4) DEFAULT 0,                                
   IM_SE33 numeric(16,4) DEFAULT 0,             
   IM_SE34 numeric(16,4) DEFAULT 0,                                
   IM_SE35 numeric(16,4) DEFAULT 0,                                
   IM_SE36 numeric(16,4) DEFAULT 0,                                
   IM_SE37 numeric(16,4) DEFAULT 0,                                
   IM_SE38 numeric(16,4) DEFAULT 0,                                   
   IM_SE39 numeric(16,4) DEFAULT 0,                                
   IM_SE40 numeric(16,4) DEFAULT 0,            
   IM_SE41 numeric(16,4) DEFAULT 0,                                
   IM_SE42 numeric(16,4) DEFAULT 0,                                
   IM_SE43 numeric(16,4) DEFAULT 0,                                
   IM_SE44 numeric(16,4) DEFAULT 0,                                
   IM_SE45 numeric(16,4) DEFAULT 0,                                
   IM_SE46 numeric(16,4) DEFAULT 0,                                
   IM_SE47 numeric(16,4) DEFAULT 0,                                
   IM_SE48 numeric(16,4) DEFAULT 0,                                
   IM_SE49 numeric(16,4) DEFAULT 0,                                
   IM_SE50 numeric(16,4) DEFAULT 0,               
   IM_SE51 numeric(16,4) DEFAULT 0,                                
   IM_SE52 numeric(16,4) DEFAULT 0,                                 
   NU_MESE varchar(2) NULL,                            
   CO_BANC varchar(3) NULL ,                              
   NU_CNTA_BANC varchar(20) NULL ,                              
   DE_CNTA_BANC varchar(100) NULL ,                              
   TI_DETA_EMPR  varchar(1) NULL ,                            
   TI_DETA_BANC  varchar(2) NULL,                        
   NU_ORDE_ARUB INT NULL,                        
   NU_ORDE_RUBR INT NULL,                        
   NU_ORDE_SUBR INT NULL,          
   IM_SALD_INIC numeric(16,4) DEFAULT 0 )                              
                              
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q03_2                              
 ( ST_CALC_IMPO varchar(1) NULL ,                          
   TI_CALC_IMPO varchar(1) NULL,                          
   CO_SUBR_CALC varchar(3) NULL,                          
   CO_EMPR      varchar(3) NULL,                              
   CO_ARUB varchar(3) NULL ,                              
   CO_RUBR varchar(3) NULL ,                              
   CO_SUBR varchar(3) NULL ,                              
   FE_OPER datetime NULL,                              
   FA_TIPO_CAMB numeric(9,4) DEFAULT 0,                              
   CO_MONE varchar(3) NULL ,                     
   IM_MOVI numeric(16,4) DEFAULT 0,                            
   CO_BANC varchar(3) NULL ,                              
   NU_CNTA_BANC varchar(20) NULL ,                              
   DE_CNTA_BANC varchar(100) NULL ,                              
   IM_SALD_INIC numeric(16,4) DEFAULT 0,                            
   TI_DETA_EMPR  varchar(1) NULL ,                            
   TI_DETA_BANC  varchar(1) NULL)                            
                          
                          
                          
                            
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q03_3                             
 ( CO_EMPR      varchar(3) NULL,                              
   CO_BANC varchar(3) NULL ,                              
   NU_CNTA_BANC varchar(20) NULL ,                              
   DE_CNTA_BANC varchar(100) NULL ,                              
   NU_MESE datetime NULL,                              
   FA_TIPO_CAMB numeric(9,4) DEFAULT 0,                              
   CO_MONE varchar(3) NULL ,                              
   IM_SALD_INIC numeric(16,4) DEFAULT 0,                            
   TI_DETA_EMPR  varchar(1) NULL ,                            
   TI_DETA_BANC  varchar(1) NULL)                              
           
Create Table #TWSABA_REPO(               
    CO_EMPR CHAR(02) NULL,               
    CO_BANC VARCHAR(03) NULL,              
    NU_CNTA_BANC VARCHAR(20) NULL,              
    AA_BNCO VARCHAR(04) NULL,              
    MM_BNCO VARCHAR(02) NULL,              
    IM_SALD_INIC Numeric(16,4) NULL)               
              
Create Table #TWSABA_REPO_AUXI(               
CO_EMPR VARCHAR(02) NULL,              
CO_BANC VARCHAR(03) NULL,              
NU_CNTA_BANC VARCHAR(20) NULL,              
IM_SALD_INIC Numeric(16,4) NULL)           
                             
DECLARE                              
                              
@VNNU_MESE  TD_IN_001,                              
@VNNU_ANIO  TD_IN_001,                              
@VSNU_MESE  TD_VC_002,                              
@VSNU_ANIO  VARCHAR(4),                              
@VNNU_CONT_SEMA TD_IN_001,                              
@VSDE_SELE VARCHAR(6000),                              
@VSCO_EMPR VARCHAR (50),                              
@VSDE_CAMP VARCHAR(7) ,                          
@VSCO_MONE_NACI TD_VC_003,                          
@VSCO_MONE_EXTR TD_VC_003,                        
@VNNU_FACT  NUMERIC(16,4),                  
@VNNU_SEMA_ACTU TD_IN_001,                   
@VSFE_OPER_INIC TD_VC_020,                    
@VSFE_OPER_FINA TD_VC_020,                    
@VSFE_INIC_SEMA TD_VC_020,                    
@VSFE_FINA_SEMA TD_VC_020,                  
@VNNU_SEMA_INIC TD_IN_001,                    
@VNNU_SEMA_FINA TD_IN_001,          
@VDFE_FINA_SEMA TD_DT_001,          
@VNIM_SALD_FLUJ  numeric(16,4),          
@VNNU_SEMA_NUEV   TD_IN_001,          
@VDFE_INIC_NUEV   TD_DT_001,          
@VSDE_CAMP_0001 VARCHAR(10) ,              
@VSDE_CAMP_0002 VARCHAR(10) ,              
@VSDE_CAMP_0003 VARCHAR(10) ,              
@VSDE_CAMP_0004 VARCHAR(10) ,              
@VSDE_CAMP_0005 VARCHAR(10) ,              
@VSDE_CAMP_0006 VARCHAR(10) ,              
@VSDE_CAMP_0007 VARCHAR(10) ,              
@VSDE_CAMP_0008 VARCHAR(10) ,              
@VSDE_CAMP_0009 VARCHAR(10) ,              
@VSDE_CAMP_0010 VARCHAR(10) ,              
@VSDE_CAMP_0011 VARCHAR(10) ,              
@VSDE_CAMP_0012 VARCHAR(10) ,              
@VSDE_CAMP_0013 VARCHAR(10) ,              
@VSDE_CAMP_0014 VARCHAR(10) ,              
@VSDE_CAMP_0015 VARCHAR(10) ,              
@VSDE_CAMP_0016 VARCHAR(10) ,              
@VSDE_CAMP_0017 VARCHAR(10) ,              
@VSDE_CAMP_0018 VARCHAR(10) ,              
@VSDE_CAMP_0019 VARCHAR(10) ,              
@VSDE_CAMP_0020 VARCHAR(10) ,            
@VNFA_CAMB_MENS  TD_NU_015_006                             
                              
                        
-- PRESENTACION EN UNIDADES O MILES                          
IF @ISTI_PRES = 'U'                          
 SELECT @VNNU_FACT = 1                          
IF @ISTI_PRES = 'M'                          
 SELECT @VNNU_FACT = 0.001                          
                          
Select @VSCO_MONE_NACI = CO_MONE_DEFA, @VSCO_MONE_EXTR = CO_MONE_EXTR                                   
From TMPARA_TESO                                  
Where CO_EMPR = @ISCO_EMPR                                  
                  
SELECT @VSFE_OPER_INIC = CONVERT(VARCHAR(10), @IDFE_OPER_INIC, 103)                   
SELECT @VSFE_OPER_FINA = CONVERT(VARCHAR(10), @IDFE_OPER_FINA, 103)                   
SELECT @VNNU_ANIO = YEAR(@IDFE_OPER_INIC)                  
                  
                  
                              
SELECT @VNNU_SEMA_INIC = NU_SEMA                  
FROM TTSEMA_FLUJ                  
WHERE CO_EMPR = @ISCO_EMPR                  
AND NU_ANIO = YEAR(@IDFE_OPER_INIC)                  
AND FE_INIC_SEMA < = Convert(Datetime, @VSFE_OPER_INIC, 103)                    
AND FE_FINA_SEMA > = Convert(Datetime, @VSFE_OPER_INIC, 103)                   
                  
                  
                  
--SELECT *FROM TTSEMA_FLUJ                  
                  
SELECT @VNNU_SEMA_FINA = NU_SEMA                  
FROM TTSEMA_FLUJ                  
WHERE CO_EMPR = @ISCO_EMPR                  
AND NU_ANIO = YEAR(@IDFE_OPER_FINA)                  
AND FE_INIC_SEMA < = Convert(Datetime, @VSFE_OPER_FINA, 103)                    
AND FE_FINA_SEMA > = Convert(Datetime, @VSFE_OPER_FINA, 103)                   
                   
                             
----   SETEO FECHA INICIAL Y FECHA FINAL INGRESADA ---------                              
-- @VNNU_MESE = @INNU_MESE_INIC, @VNNU_ANIO = @INNU_ANIO_INIC,                   
SELECT  @VNNU_CONT_SEMA = 1 , @VNNU_SEMA_ACTU = @VNNU_SEMA_INIC                             
                  
                  
--  <= Convert(Datetime, '" + @VSFE_CANC + "', 103)                   
                  
                              
/* FORMO EL NOMBRE DEL CAMPO (IM_SE01) QUE CORRESPONDERA AL IMPORTE DEL MES 1,                              
 EN EL LOOP SE FORMARA EN LA CADENA @VSDE_CAMP EL NOMBRE DEL CAMPO DE LOS                             
 PERIODOS DEL 2 (IM_SE02) AL 12 (IM_SE12)*/                              
SELECT @VSDE_CAMP = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_CONT_SEMA))))) + 
RTRIM(LTRIM(STR(@VNNU_CONT_SEMA)))                              
                              
                              
                              
--- LOOP PARA LLENAR LA TABLA TEMPORAL MES POR MES, DESDE EL MES 1 AL MES 12 -------------------                              
WHILE (@VNNU_CONT_SEMA <= (@VNNU_SEMA_FINA - @VNNU_SEMA_INIC + 1)   AND   @VNNU_CONT_SEMA <= 52)                          
BEGIN                              
                   
SELECT @VSFE_INIC_SEMA = Convert(Datetime, FE_INIC_SEMA, 103), @VSFE_FINA_SEMA = Convert(Datetime, FE_FINA_SEMA, 103),        
  
@VSNU_ANIO = YEAR(FE_INIC_SEMA), @VSNU_MESE = REPLICATE('0', 2-LEN(RTRIM(LTRIM(MONTH(FE_INIC_SEMA))))) + 
RTRIM(LTRIM(MONTH(FE_INIC_SEMA)))                  
FROM TTSEMA_FLUJ                  
WHERE CO_EMPR = @ISCO_EMPR                  
AND NU_ANIO = @VNNU_ANIO                  
AND NU_SEMA = @VNNU_SEMA_ACTU             
        
        
SELECT @VNFA_CAMB_MENS = FA_CAMB_CMPR            
FROM TCFACT_PRME            
WHERE CO_MONE = @VSCO_MONE_EXTR                           
AND NU_ANNO = Convert(int, @VSNU_ANIO)                
AND NU_MESE = Convert(int, @VSNU_MESE)                  
      
IF ISNULL(@VNFA_CAMB_MENS,0) = 0      
BEGIN      
      
select @VNFA_CAMB_MENS = (select TOP 1 FA_CAMB_CMPR            
FROM TCFACT_PRME            
WHERE CO_MONE = @VSCO_MONE_EXTR                           
AND ((NU_ANNO = Convert(int, @VSNU_ANIO)  AND  NU_MESE <= Convert(int, @VSNU_MESE)) OR (NU_ANNO < Convert(int, @VSNU_ANIO)))  
                
ORDER BY NU_ANNO DESC, NU_MESE DESC)      
      
END        
                  
--SELECT  @VSNU_MESE = CONVERT(CHAR(2), @VNNU_MESE),                              
-- @VSNU_ANIO = CONVERT(CHAR(4), @VNNU_ANIO)                              
                               
 ---- INSERTO LOS DATA MES POR MES, DESDE EL MES INICIAL ----------                              
  EXECUTE('                              
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q03_2                              
  (CO_EMPR, CO_ARUB, CO_RUBR, CO_SUBR, FE_OPER, FA_TIPO_CAMB, CO_MONE, IM_MOVI, TI_DETA_EMPR, TI_DETA_BANC)                   
           
  SELECT T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR, T1.FE_OPER, T1.FA_TIPO_CAMB, T5.CO_MONE,  
                             
  Round( (SELECT Dbo.FN_TCFACT_CAMB_Q02(T5.CO_MONE, "' + @ISCO_MONE + '", T1.FE_OPER,                              
  T1.IM_MOVI * ( PATINDEX(T1.TI_MOVI_BANC, "I") - PATINDEX(T1.TI_MOVI_BANC, "E")),                               
  T6.TI_CAMB, T6.TI_ORIG, "S", T6.CO_MONE_DEFA, T6.CO_MONE_EXTR, ISNULL(' + @VNFA_CAMB_MENS + ', T1.FA_TIPO_CAMB))), 2) 
,"1","2"                             
  FROM TCMOVI_BANC T1, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA, TMCNTA_BANC T5, TMEMPR, TMPARA_TESO T6                          
    
  ' + @ISCA_WHER_0001 + @ISCA_WHER_0002 + '                              
  AND T1.FE_OPER >= Convert(Datetime, "' + @VSFE_INIC_SEMA + '", 103)                              
  AND T1.FE_OPER <= Convert(Datetime, "' + @VSFE_FINA_SEMA + '", 103)                                
  AND T1.TI_SITU IN ("ACT", "EXT")                              
  AND TTSUBR_FINA.ST_REPO = "S"                            
  AND  T1.CO_EMPR = T5.CO_EMPR                              
  AND  T1.CO_BANC = T5.CO_BANC                              
  AND  T1.NU_CNTA_BANC = T5.NU_CNTA_BANC                             
  AND T1.CO_EMPR = TTSUBR_FINA.CO_EMPR                              
  AND T1.CO_SUBR = TTSUBR_FINA.CO_SUBR                              
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                              
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                              
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                              
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                              
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB                              
  AND TTSUBR_FINA.CO_EMPR = TMEMPR.CO_EMPR                          
  AND TTSUBR_FINA.CO_EMPR = T6.CO_EMPR                              
  UNION ALL                              
  SELECT T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR, T1.FE_OPER, T1.FA_TIPO_CAMB, T5.CO_MONE,  
                            
  Round( (SELECT Dbo.FN_TCFACT_CAMB_Q02(T5.CO_MONE, "' + @ISCO_MONE + '", T1.FE_OPER,                              
  T1.IM_MOVI * ( PATINDEX(T1.TI_MOVI, "I") - PATINDEX(T1.TI_MOVI, "E")),                               
  T6.TI_CAMB, T6.TI_ORIG, "S", T6.CO_MONE_DEFA, T6.CO_MONE_EXTR, ISNULL(' + @VNFA_CAMB_MENS + ', T1.FA_TIPO_CAMB))), 2), 
"1", "2"                              
  FROM TCMOVI_CAJA T1, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA, TMCAJA T5, TMEMPR, TMPARA_TESO T6                              
  ' + @ISCA_WHER_0001 + @ISCA_WHER_0002 + '                              
  AND T1.FE_OPER >= Convert(Datetime, "' + @VSFE_INIC_SEMA + '", 103)                              
  AND T1.FE_OPER <= Convert(Datetime, "' + @VSFE_FINA_SEMA + '", 103)                             
  AND T1.TI_SITU IN ("ACT", "EXT")                              
  AND TTSUBR_FINA.ST_REPO = "S"                              
  AND  T1.CO_EMPR = T5.CO_EMPR                              
  AND  T1.CO_CAJA = T5.CO_CAJA                             
  AND T1.CO_EMPR = TTSUBR_FINA.CO_EMPR                              
  AND T1.CO_SUBR = TTSUBR_FINA.CO_SUBR                              
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                              
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                              
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                              
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                              
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB                              
  AND TTSUBR_FINA.CO_EMPR = TMEMPR.CO_EMPR                              
  AND TTSUBR_FINA.CO_EMPR = T6.CO_EMPR                              
                           
 ORDER BY T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR')                              
                          
                          
                     
                            
--SELECT 'PRUEBA1',  @ISCO_EMPR, @VSNU_ANIO, @VSNU_MESE                            
SELECT @VDFE_FINA_SEMA = Convert(Datetime, @VSFE_FINA_SEMA,103)          
          
EXECUTE SP_TWSABA_FLUJ_Q01 @ISCO_EMPR, @ISCO_MONE, @VDFE_FINA_SEMA          
          
          
          
                          
INSERT INTO #TWFLUJ_CAJA_SEMA_Q03_3               
(CO_EMPR, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, CO_MONE, IM_SALD_INIC, TI_DETA_EMPR, TI_DETA_BANC)                             
 
select T2.CO_EMPR, T2.CO_BANC, T2.NU_CNTA_BANC, T2.DE_CNTA_BANC, T2.CO_MONE,                   
T4.IM_SALD_INIC, '1', '1'                    
 from  TTBANC_FINA T1, TMCNTA_BANC T2, #TWSABA_REPO T4                    
 Where T2.CO_EMPR =   @ISCO_EMPR                    
  and t1.co_banc = t2.co_banc                  
  and t1.st_banc_empr = 'S'                          
  And T2.CO_EMPR = T4.CO_EMPR                    
  And T2.CO_BANC = T4.CO_BANC                    
  And T2.NU_CNTA_BANC = T4.NU_CNTA_BANC                                 
 ORDER BY T2.CO_EMPR, T2.CO_BANC, T2.NU_CNTA_BANC                              
                         
               
              
DELETE FROM #TWSABA_REPO_AUXI              
DELETE FROM #TWSABA_REPO                            
                          
 --SELECT *FROM  TCFACT_PRME                          
                              
 --SELECT * FROM #TWFLUJ_CAJA_SEMA_Q03_2                              
 --WHERE CO_SUBR = '119'                              
                             
  ----- INSERTO EN OTRA TABLA TEMPORAL EL IMPORTE CONVERTIDO EN EL PERIODO CORRESPONDIENTE ----------------                   
           
  EXECUTE('               
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_1                      
  (CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, CO_ARUB, CO_RUBR, CO_SUBR, CO_SUBR_CALC, ' + @VSDE_CAMP + ', NU_MESE)               
               
  SELECT CO_EMPR, "1", "2", CO_ARUB, CO_RUBR, CO_SUBR, CO_SUBR_CALC, IM_MOVI, CONVERT(CHAR(2), "' + @VNNU_CONT_SEMA  + '")  
                        
  FROM #TWFLUJ_CAJA_SEMA_Q03_2                          
  ')                              
                          
                            
  EXECUTE('                              
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_1                              
  (CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, ' + @VSDE_CAMP + ', NU_MESE)                   
           
  SELECT CO_EMPR, "1", "1", CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, IM_SALD_INIC, CONVERT(CHAR(2), "' + @VNNU_CONT_SEMA  + '") 
                                  
  FROM #TWFLUJ_CAJA_SEMA_Q03_3')            
                          
                          
--SELECT *FROM #TWFLUJ_CAJA_SEMA_Q03_2                          
                               
  ----- BORRA LA TABLA TEMPORAL ORIGEN PARA LLENARLA CON LA DATA DEL SUGUIENTE PERIODO -----------------                      
        
  DELETE #TWFLUJ_CAJA_SEMA_Q03_2                             
  --DELETE #TWFLUJ_CAJA_SEMA_Q03_DUA                          
  DELETE #TWFLUJ_CAJA_SEMA_Q03_3                           
                               
  SELECT @VNNU_CONT_SEMA = @VNNU_CONT_SEMA + 1, @VNNU_SEMA_ACTU = @VNNU_SEMA_ACTU + 1                              
 /* IF @VNNU_MESE = 13                              
  BEGIN                              
   SELECT @VNNU_MESE = 1                              
   SELECT @VNNU_ANIO = @VNNU_ANIO + 1                              
  END*/                              
  SELECT @VSDE_CAMP = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_CONT_SEMA))))) + 
RTRIM(LTRIM(STR(@VNNU_CONT_SEMA)))                              
                               
END                              
                          
                          
                          
                             
INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_4 (CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR, CO_SUBR, DE_SUBR,                  
          
IM_SE01, IM_SE02, IM_SE03, IM_SE04, IM_SE05, IM_SE06, IM_SE07, IM_SE08,       
IM_SE09, IM_SE10, IM_SE11, IM_SE12, IM_SE13, IM_SE14, IM_SE15, IM_SE16, IM_SE17, IM_SE18,                            
IM_SE19, IM_SE20, IM_SE21, IM_SE22, IM_SE23, IM_SE24, IM_SE25, IM_SE26, IM_SE27, IM_SE28,                             
IM_SE29, IM_SE30, IM_SE31, IM_SE32, IM_SE33, IM_SE34, IM_SE35, IM_SE36, IM_SE37, IM_SE38,                            
IM_SE39, IM_SE40, IM_SE41, IM_SE42, IM_SE43, IM_SE44, IM_SE45, IM_SE46, IM_SE47, IM_SE48,                             
IM_SE49, IM_SE50, IM_SE51, IM_SE52,CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC,NU_ORDE_ARUB, 
NU_ORDE_RUBR, NU_ORDE_SUBR)                            
SELECT T1.CO_EMPR, MAX(T5.DE_NOMB), T4.CO_ARUB, MAX(T4.DE_ARUB), T3.CO_RUBR, MAX(T3.DE_RUBR), T2.CO_SUBR, MAX(T2.DE_SUBR),    
                          
 SUM(T1.IM_SE01), SUM(T1.IM_SE02), SUM(T1.IM_SE03), SUM(T1.IM_SE04), SUM(T1.IM_SE05),                               
 SUM(T1.IM_SE06), SUM(T1.IM_SE07), SUM(T1.IM_SE08), SUM(T1.IM_SE09), SUM(T1.IM_SE10),                               
 SUM(T1.IM_SE11), SUM(T1.IM_SE12) , SUM(T1.IM_SE13), SUM(T1.IM_SE14), SUM(T1.IM_SE15),                               
 SUM(T1.IM_SE16), SUM(T1.IM_SE17), SUM(T1.IM_SE18), SUM(T1.IM_SE19), SUM(T1.IM_SE20),           
 SUM(T1.IM_SE21), SUM(T1.IM_SE22), SUM(T1.IM_SE23), SUM(T1.IM_SE24), SUM(T1.IM_SE25),                               
 SUM(T1.IM_SE26), SUM(T1.IM_SE27), SUM(T1.IM_SE28), SUM(T1.IM_SE29), SUM(T1.IM_SE30),                               
 SUM(T1.IM_SE31), SUM(T1.IM_SE32) , SUM(T1.IM_SE33), SUM(T1.IM_SE34), SUM(T1.IM_SE35),                             
 SUM(T1.IM_SE36), SUM(T1.IM_SE37), SUM(T1.IM_SE38), SUM(T1.IM_SE39), SUM(T1.IM_SE40),           
 SUM(T1.IM_SE41), SUM(T1.IM_SE42), SUM(T1.IM_SE43), SUM(T1.IM_SE44), SUM(T1.IM_SE45),                               
 SUM(T1.IM_SE46), SUM(T1.IM_SE47), SUM(T1.IM_SE48), SUM(T1.IM_SE49), SUM(T1.IM_SE50),                               
 SUM(T1.IM_SE51), SUM(T1.IM_SE52),          
 NULL,NULL, NULL, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC),                        
 MAX(T4.NU_ORDE), MAX(T3.NU_ORDE), MAX(T2.NU_ORDE)                             
FROM #TWFLUJ_CAJA_SEMA_Q02_1 T1, TTSUBR_FINA T2, TTRUBR_FINA T3, TTARUB_FINA T4, TMEMPR T5                              
WHERE T1.CO_EMPR = @ISCO_EMPR 
AND T1.CO_EMPR = T2.CO_EMPR                              
AND  T2.ST_REPO = 'S'                              
AND T1.CO_SUBR = T2.CO_SUBR                              
AND T2.CO_EMPR = T3.CO_EMPR                              
AND  T2.CO_RUBR = T3.CO_RUBR                              
AND T3.CO_EMPR = T4.CO_EMPR                              
AND T3.CO_ARUB = T4.CO_ARUB                              
AND T1.CO_EMPR = T5.CO_EMPR                          
AND  EXISTS ( SELECT T6.CO_RUBR                   
   FROM  TTRUBR_FINA T6                              
   WHERE  T6.CO_EMPR = T2.CO_EMPR                              
   AND  T6.CO_RUBR = T2.CO_RUBR                              
   AND  T6.ST_REPO = 'S'                              
   AND EXISTS ( SELECT T7.CO_ARUB                              
      FROM  TTARUB_FINA T7                              
WHERE  T7.CO_EMPR = T6.CO_EMPR                              
          AND  T7.CO_ARUB = T6.CO_ARUB                              
          AND  T7.ST_REPO = 'S'))                              
GROUP BY T1.CO_EMPR, T4.CO_ARUB, T3.CO_RUBR, T2.CO_SUBR                              
ORDER BY T1.CO_EMPR, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC), MAX(T4.NU_ORDE), MAX(T3.NU_ORDE), MAX(T2.NU_ORDE)            
                
                          
                          
                            
INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_4 (CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR,  CO_SUBR, DE_SUBR,                 
            
IM_SE01, IM_SE02, IM_SE03, IM_SE04, IM_SE05, IM_SE06, IM_SE07, IM_SE08,                            
IM_SE09, IM_SE10, IM_SE11, IM_SE12, IM_SE13, IM_SE14, IM_SE15, IM_SE16, IM_SE17, IM_SE18,                            
IM_SE19, IM_SE20, IM_SE21, IM_SE22, IM_SE23, IM_SE24, IM_SE25, IM_SE26, IM_SE27, IM_SE28,                             
IM_SE29, IM_SE30, IM_SE31, IM_SE32, IM_SE33, IM_SE34, IM_SE35, IM_SE36, IM_SE37, IM_SE38,                            
IM_SE39, IM_SE40, IM_SE41, IM_SE42, IM_SE43, IM_SE44, IM_SE45, IM_SE46, IM_SE47, IM_SE48,                             
IM_SE49, IM_SE50, IM_SE51, IM_SE52, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC)                          
  
SELECT T1.CO_EMPR, MAX(T5.DE_NOMB), NULL, NULL, NULL, NULL, NULL, NULL,                              
 SUM(T1.IM_SE01), SUM(T1.IM_SE02), SUM(T1.IM_SE03), SUM(T1.IM_SE04), SUM(T1.IM_SE05),                               
 SUM(T1.IM_SE06), SUM(T1.IM_SE07), SUM(T1.IM_SE08), SUM(T1.IM_SE09), SUM(T1.IM_SE10),                               
 SUM(T1.IM_SE11), SUM(T1.IM_SE12) , SUM(T1.IM_SE13), SUM(T1.IM_SE14), SUM(T1.IM_SE15),                               
 SUM(T1.IM_SE16), SUM(T1.IM_SE17), SUM(T1.IM_SE18), SUM(T1.IM_SE19), SUM(T1.IM_SE20),           
 SUM(T1.IM_SE21), SUM(T1.IM_SE22), SUM(T1.IM_SE23), SUM(T1.IM_SE24), SUM(T1.IM_SE25),                               
 SUM(T1.IM_SE26), SUM(T1.IM_SE27), SUM(T1.IM_SE28), SUM(T1.IM_SE29), SUM(T1.IM_SE30),                               
 SUM(T1.IM_SE31), SUM(T1.IM_SE32) , SUM(T1.IM_SE33), SUM(T1.IM_SE34), SUM(T1.IM_SE35),   
 SUM(T1.IM_SE36), SUM(T1.IM_SE37), SUM(T1.IM_SE38), SUM(T1.IM_SE39), SUM(T1.IM_SE40),           
 SUM(T1.IM_SE41), SUM(T1.IM_SE42), SUM(T1.IM_SE43), SUM(T1.IM_SE44), SUM(T1.IM_SE45),                               
 SUM(T1.IM_SE46), SUM(T1.IM_SE47), SUM(T1.IM_SE48), SUM(T1.IM_SE49), SUM(T1.IM_SE50),                               
 SUM(T1.IM_SE51), SUM(T1.IM_SE52),                              
 MAX(T1.CO_BANC),MAX(T1.NU_CNTA_BANC), MAX(T1.DE_CNTA_BANC), MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC)                       
     
FROM #TWFLUJ_CAJA_SEMA_Q02_1 T1,  TMEMPR T5                              
WHERE T1.CO_EMPR = @ISCO_EMPR 
AND T1.CO_EMPR = T5.CO_EMPR                            
AND ISNULL(T1.CO_BANC,'') != ''                          
AND ISNULL(T1.NU_CNTA_BANC,'') != ''                             
GROUP BY T1.CO_EMPR, T1.CO_BANC, T1.NU_CNTA_BANC                            
ORDER BY T1.CO_EMPR, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC), MAX(T1.CO_BANC), MAX(T1.NU_CNTA_BANC)                        
    
                          
      
 SELECT @VDFE_INIC_NUEV = FE_INIC_SEMA                    
 FROM TTSEMA_FLUJ                    
 WHERE CO_EMPR = @ISCO_EMPR                    
 AND NU_ANIO = YEAR(@IDFE_OPER_INIC)                    
 AND NU_SEMA = @VNNU_SEMA_INIC       
      
       
 SELECT @VNIM_SALD_FLUJ = (Select Isnull(Sum( Isnull(T1.IM_MOVI, 0)), 0)            
   From (Select Round(Dbo.FN_TCFACT_CAMB_Q02(TMCNTA_BANC.CO_MONE, @ISCO_MONE, TCMOVI_BANC.FE_OPER,            
    TCMOVI_BANC.IM_MOVI * ( PATINDEX(TCMOVI_BANC.TI_MOVI_BANC, 'I') - PATINDEX(TCMOVI_BANC.TI_MOVI_BANC, 'E')),           
  
   TMPARA_TESO.TI_CAMB, TMPARA_TESO.TI_ORIG, 'S', TMPARA_TESO.CO_MONE_DEFA, TMPARA_TESO.CO_MONE_EXTR, ISNULL(  
  
(Dbo.FN_TCFACT_CAMB_MENS_Q01 (@ISCO_EMPR, TMCNTA_BANC.CO_MONE, @ISCO_MONE, YEAR(TCMOVI_BANC.FE_OPER), 
MONTH(TCMOVI_BANC.FE_OPER))),TCMOVI_BANC.FA_TIPO_CAMB)), 2) IM_MOVI            
    From  TCMOVI_BANC , TMCNTA_BANC, TMPARA_TESO, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA            
    Where  TCMOVI_BANC.CO_EMPR = @ISCO_EMPR            
    And  TCMOVI_BANC.FE_OPER < @VDFE_INIC_NUEV            
    And  TCMOVI_BANC.TI_SITU IN ('ACT', 'EXT')            
    And  Rtrim(Isnull(TCMOVI_BANC.CO_SUBR, '')) != ''            
    And  TCMOVI_BANC.CO_EMPR = TMCNTA_BANC.CO_EMPR            
    And  TCMOVI_BANC.CO_BANC = TMCNTA_BANC.CO_BANC            
    And  TCMOVI_BANC.NU_CNTA_BANC = TMCNTA_BANC.NU_CNTA_BANC            
    And  TCMOVI_BANC.CO_EMPR = TMPARA_TESO.CO_EMPR      
    AND TTSUBR_FINA.ST_REPO = 'S'                                      
  AND TCMOVI_BANC.CO_EMPR = TTSUBR_FINA.CO_EMPR                                
  AND TCMOVI_BANC.CO_SUBR = TTSUBR_FINA.CO_SUBR                                
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB) T1)            
 +            
   (Select Isnull(Sum( Isnull(T1.IM_MOVI, 0)), 0)            
   From (Select Round( Dbo.FN_TCFACT_CAMB_Q02(TMCAJA.CO_MONE, @ISCO_MONE, TCMOVI_CAJA.FE_OPER,             
   TCMOVI_CAJA.IM_MOVI * ( PATINDEX(TCMOVI_CAJA.TI_MOVI, 'I') - PATINDEX(TCMOVI_CAJA.TI_MOVI, 'E')),             
   TMPARA_TESO.TI_CAMB, TMPARA_TESO.TI_ORIG, 'S', TMPARA_TESO.CO_MONE_DEFA, TMPARA_TESO.CO_MONE_EXTR, ISNULL(  
(Dbo.FN_TCFACT_CAMB_MENS_Q01 (@ISCO_EMPR, TMCAJA.CO_MONE, @ISCO_MONE, YEAR(TCMOVI_CAJA.FE_OPER), 
MONTH(TCMOVI_CAJA.FE_OPER))),TCMOVI_CAJA.FA_TIPO_CAMB)), 2) IM_MOVI            
    From  TCMOVI_CAJA , TMCAJA, TMPARA_TESO, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA             
    Where  TCMOVI_CAJA.CO_EMPR = @ISCO_EMPR            
    And  TCMOVI_CAJA.FE_OPER < @VDFE_INIC_NUEV            
    And TCMOVI_CAJA.TI_SITU IN ('ACT', 'EXT')            
    And  Rtrim(Isnull(TCMOVI_CAJA.CO_SUBR, '')) != ''            
    And  TCMOVI_CAJA.CO_EMPR = TMCAJA.CO_EMPR            
    And  TCMOVI_CAJA.CO_CAJA = TMCAJA.CO_CAJA            
    And  TCMOVI_CAJA.CO_EMPR = TMPARA_TESO.CO_EMPR      
 AND TTSUBR_FINA.ST_REPO = 'S'                                      
  AND TCMOVI_CAJA.CO_EMPR = TTSUBR_FINA.CO_EMPR                                
  AND TCMOVI_CAJA.CO_SUBR = TTSUBR_FINA.CO_SUBR                                
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB) T1)        
          
          
INSERT #TWFLUJ_CAJA_SEMA_Q02_4 (CO_EMPR, IM_SALD_INIC, TI_DETA_EMPR, TI_DETA_BANC)          
VALUES (@ISCO_EMPR, @VNIM_SALD_FLUJ, '1', '11')          
          
          
    
    
INSERT INTO #TWFLUJ_CAJA_Q16_1 (CO_EMPR, DE_EMPR, IM_SALD_FLUJ, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR,  CO_SUBR, DE_SUBR,        
                     
IM_SE01, IM_SE02, IM_SE03, IM_SE04, IM_SE05, IM_SE06, IM_SE07, IM_SE08,                            
IM_SE09, IM_SE10, IM_SE11, IM_SE12, IM_SE13, IM_SE14, IM_SE15, IM_SE16, IM_SE17, IM_SE18,                            
IM_SE19, IM_SE20, IM_SE21, IM_SE22, IM_SE23, IM_SE24, IM_SE25, IM_SE26, IM_SE27, IM_SE28,                             
IM_SE29, IM_SE30, IM_SE31, IM_SE32, IM_SE33, IM_SE34, IM_SE35, IM_SE36, IM_SE37, IM_SE38,                            
IM_SE39, IM_SE40, IM_SE41, IM_SE42, IM_SE43, IM_SE44, IM_SE45, IM_SE46, IM_SE47, IM_SE48,                             
IM_SE49, IM_SE50, IM_SE51, IM_SE52, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC)                          
 
SELECT CO_EMPR, DE_EMPR, ISNULL(IM_SALD_INIC,0) *@VNNU_FACT, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR, CO_SUBR, DE_SUBR,            
                 
ISNULL(IM_SE01,0)*@VNNU_FACT, ISNULL(IM_SE02,0)*@VNNU_FACT, ISNULL(IM_SE03,0)*@VNNU_FACT, ISNULL(IM_SE04,0)*@VNNU_FACT, 
ISNULL(IM_SE05,0)*@VNNU_FACT,                         
ISNULL(IM_SE06,0)*@VNNU_FACT, ISNULL(IM_SE07,0)*@VNNU_FACT, ISNULL(IM_SE08,0)*@VNNU_FACT, 
ISNULL(IM_SE09,0)*@VNNU_FACT,ISNULL(IM_SE10,0)*@VNNU_FACT,                         
ISNULL(IM_SE11,0)*@VNNU_FACT, ISNULL(IM_SE12,0)*@VNNU_FACT, ISNULL(IM_SE13,0)*@VNNU_FACT, ISNULL(IM_SE14,0)*@VNNU_FACT, 
ISNULL(IM_SE15,0)*@VNNU_FACT,                         
ISNULL(IM_SE16,0)*@VNNU_FACT, ISNULL(IM_SE17,0)*@VNNU_FACT, ISNULL(IM_SE18,0)*@VNNU_FACT, 
ISNULL(IM_SE19,0)*@VNNU_FACT,ISNULL(IM_SE20,0)*@VNNU_FACT,           
ISNULL(IM_SE21,0)*@VNNU_FACT, ISNULL(IM_SE22,0)*@VNNU_FACT, ISNULL(IM_SE23,0)*@VNNU_FACT, ISNULL(IM_SE24,0)*@VNNU_FACT, 
ISNULL(IM_SE25,0)*@VNNU_FACT,                         
ISNULL(IM_SE26,0)*@VNNU_FACT, ISNULL(IM_SE27,0)*@VNNU_FACT, ISNULL(IM_SE28,0)*@VNNU_FACT, 
ISNULL(IM_SE29,0)*@VNNU_FACT,ISNULL(IM_SE30,0)*@VNNU_FACT,                         
ISNULL(IM_SE31,0)*@VNNU_FACT, ISNULL(IM_SE32,0)*@VNNU_FACT, ISNULL(IM_SE33,0)*@VNNU_FACT, ISNULL(IM_SE34,0)*@VNNU_FACT, 
ISNULL(IM_SE35,0)*@VNNU_FACT,                         
ISNULL(IM_SE36,0)*@VNNU_FACT, ISNULL(IM_SE37,0)*@VNNU_FACT, ISNULL(IM_SE38,0)*@VNNU_FACT, 
ISNULL(IM_SE39,0)*@VNNU_FACT,ISNULL(IM_SE40,0)*@VNNU_FACT,            
ISNULL(IM_SE41,0)*@VNNU_FACT, ISNULL(IM_SE42,0)*@VNNU_FACT, ISNULL(IM_SE43,0)*@VNNU_FACT, ISNULL(IM_SE44,0)*@VNNU_FACT, 
ISNULL(IM_SE45,0)*@VNNU_FACT,                         
ISNULL(IM_SE46,0)*@VNNU_FACT, ISNULL(IM_SE47,0)*@VNNU_FACT, ISNULL(IM_SE48,0)*@VNNU_FACT, 
ISNULL(IM_SE49,0)*@VNNU_FACT,ISNULL(IM_SE50,0)*@VNNU_FACT,                         
ISNULL(IM_SE51,0)*@VNNU_FACT, ISNULL(IM_SE52,0)*@VNNU_FACT,            
CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC                            
FROM #TWFLUJ_CAJA_SEMA_Q02_4                            
ORDER BY CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, NU_ORDE_ARUB, NU_ORDE_RUBR, NU_ORDE_SUBR                    
          
          
                           RETURN                        
                              
/********************************* FIN ***********************************/


GO
